using Framework.Core.CommandLine;

namespace Framework.Core.BootStrapper.Deployment
{
    internal class DeployPluginArgs : PluginCommandLineArgs
    {
        [CommandLineArgs(
            ShortName = "m",
            Name = "Machine",
            ArgumentRequirements = ArgumentRequirements.Required
            )]
        public string Machine { get; set; }

        [CommandLineArgs(
            ShortName = "u",
            Name = "User",
            ArgumentRequirements = ArgumentRequirements.Required
            )]
        public string User { get; set; }

        [CommandLineArgs(
            ShortName = "p",
            Name = "Password",
            ArgumentRequirements = ArgumentRequirements.Required
            )]
        public string Password { get; set; }

        [CommandLineArgs(
            ShortName = "rp",
            Name = "RemotePath",
            ArgumentRequirements = ArgumentRequirements.Required
            )]
        public string RemotePath { get; set; }

        [CommandLineArgs(
            ShortName = "ep",
            Name = "ExecutablePath",
            ArgumentRequirements = ArgumentRequirements.Required
            )]
        public string ExecutablePath { get; set; }

        [CommandLineArgs(
            ShortName = "a",
            Name = "Arguments",
            ArgumentRequirements = ArgumentRequirements.Required
            )]
        public string Arguments { get; set; }
    }
}